package office.service.workflow;

import java.util.List;

import office.action.workflow.form.WorkTaskForm;
import office.action.workflow.wrapper.WorkTaskWrapper;
import platform.common.exception.BusinessException;


/**
 * 待办任务处理
 * @author ZhangYQ
 *
 */
public interface IWorkTaskService{
	/**
	 * 编辑待办任务 包括发送待办任务和结束待办任务
	 * @param form
	 * @throws BusinessException
	 */
	void editWorkTask(WorkTaskForm form)throws BusinessException;
	/**
	 * 根据待办任务的ID获取当前的待办任务
	 * @param id
	 * @return
	 * @throws BusinessException
	 */
	WorkTaskWrapper getById(String id)throws BusinessException;
	/**
	 * 
	 * @param condition  封装的参数体：包括以下几个参数，传入什么参数按照什么参数进行查询
	 * id：待办任务对应的ID
	 * objId：对应的业务表的ID，如请假BO表中的ID，离职Bo表中数据的Id
	 * objClassName:对应的业务实体，即类名
	 * submitUser：待办任务的提交人
	 * handleUser：处理人的用户编码
	 * handleState：待办任务的处理状态  0：表示未通过，1：表示已通过
	 * @return 返回查询的数据
	 * @throws BusinessException
	 */
	List<WorkTaskWrapper> findWorkTaskByCondition(WorkTaskForm condition)throws BusinessException;
}
